iTOL快速绘制颜值最高的进化树!
The following article is from 宏基因组 Author 猴头菇5518
iTOL简介
大家在看高分文章时,总会惊叹于,为什么人家能做出那么好看而且高大上的系统发育树,而且好看的图也能直接提升文章的档次,冲击高分文章。人家的树不管是从配色还是各种注释信息都让人无可挑剔,而你每次花了半个月时间做的进化树不是被老板嫌弃配色丑,就是太单调,没有各种辅助的注释信息。然后你默默捧起别人的文章学习时发现他们绝大部分都是用iTOL这个在线工具来进行的系统发育树的美化的。
这个Python工具可以实现多序列比对、模型筛选、进化树构建和绘制,ETE构建、绘制进化树。
iTOL的基本使用流程:
搜索itol后进入如下界面,点右上角Login进入系统
新用户需要邮箱注册,老用户直接登录
点击进入My Tree,点击Upload tree files 或者直接把树文件拖入框中
点击树名称进入树的编辑界面,左上角依次是放大,缩小,还原当前窗口,树的信息以及搜索。右上角是Controls界面
Basic界面可以设计树的形式,枝长,单击分支可编辑颜色,线条样式,序列名称,在Tree structure中可设置外群等
在Advance中可以显示或隐藏支持率 7.在合并分支选项中可以设置合并分支的阈值
大家如果从来没有用过iTOL可以看看以上推文,它们会教你怎么快速入门iTOL网站。但是这些推文都只教你了怎么去注册iTOL的用户,怎么上传你的树文件等一些非常简单基本的操作,离真正让你自己快速绘制一个高颜值进化树距离还很远!这些文章都只介绍了软件在线网页的使用,但如何准备软件的数据确是绝大多数用户的难点。当你想绘制自己的进化树时,花了半个月搞出来的图依旧很丑。
今天宏基因组就为你上点干货,你让半天时间制作的树,颜值超过之前半个月的工作。
怎么样才算是一颗高颜值的进化树呢?
比如以下这篇文章:
这是宏基因组公众号解读过的一篇microbiome的文章 (Beckers, B., et al. (2017). Microbiome 5(1): 25.)。 该图是本文的5个主图之一,也是本文最为重要的图。本文无论在数据量还是数据统计展示都很常规,但能发到10分左右的杂志,还是很值得大家学习一下!作者选用了与杨树不同生态位(根围土壤、根系、茎、叶子)相关的高丰度菌绘制环形系统发育树。选用在线的iTOL网站进行系统发育树美化。不同环形颜色代表不同细菌门,柱形图代表不同OTUs的相对丰度。
这篇文章中的图就是用iTOL网站进行绘制的!这个网站的使用非常简单,当你上传完树文件后,你只需要把对应的注释文件拖到屏幕上树所在的位置就能自动给你注释的树形结果,简直不要太方便有没有!但你需要准备所有的柱形图,热图,分组信息等注释文件。这些文件的准备其实才是最花费时间的步骤!
比如之前看iTOL网站的官方教程,想着手动去准备一个如下的注释文件:
DATASET_DOMAINS
SEPARATOR TAB
BACKBONE_COLOR #FFFFFF
BACKBONE_HEIGHT 0
BORDER_WIDTH 0.5
COLOR #bebada
DATASET_LABEL Family
HEIGHT_FACTOR 1
LEGEND_COLORS #a6cee3 #1f78b4 #b2df8a #33a02c #fb9a99 #a6cee3 #1f78b4 #b2df8a #33a02c #fb9a99 #a6cee3 #1f78b4 #b2df8a #33a02c #fb9a99 #a6cee3 #1f78b4 #b2df8a #33a02c #fb9a99 #a6cee3 #1f78b4 #b2df8a #33a02c #fb9a99
LEGEND_LABELS Bacillaceae_1 Bradyrhizobiaceae Burkholderiales_incertae_sedis Caulobacteraceae Chloroplast Comamonadaceae Flavobacteriaceae Herpetosiphonaceae Hyphomicrobiaceae Kineosporiaceae Microbacteriaceae Micromonosporaceae Nocardioidaceae Oxalobacteraceae Pseudomonadaceae Pseudonocardiaceae Rhizobiaceae Rhodospirillaceae Sandaracinaceae Sinobacteraceae Sphingomonadaceae Streptomycetaceae Thermomonosporaceae Unassigned Xanthomonadaceae
LEGEND_SHAPES EL EL EL EL EL RE RE RE RE RE TL TL TL TL TL TR TR TR TR TR DI DI DI DI DI
LEGEND_TITLE Family
MARGIN 5
SHOW_DOMAIN_LABELS 0
WIDTH 25
DATA
OTU_657 10 DI|0|10|#b2df8a|Thermomonosporaceae
OTU_2 10 RE|0|10|#a6cee3|Comamonadaceae
OTU_3 10 TL|0|10|#fb9a99|Pseudomonadaceae
OTU_4 10 TL|0|10|#fb9a99|Pseudomonadaceae
OTU_5 10 EL|0|10|#fb9a99|Chloroplast
OTU_6 10 EL|0|10|#b2df8a|Burkholderiales_incertae_sedis
OTU_8 10 DI|0|10|#1f78b4|Streptomycetaceae
OTU_7 10 RE|0|10|#1f78b4|Flavobacteriaceae
OTU_9 10 TL|0|10|#1f78b4|Micromonosporaceae
OTU_10 10 TR|0|10|#1f78b4|Rhizobiaceae
OTU_17 10 DI|0|10|#33a02c|Unassigned
光想想这里的配色方案就让人头疼不已,准备这其中的一个注释文件可能就要花费几天时间,不仅费时费力,等你好不容易凑齐了几十种颜色,结果搭配起来还十分难看。
难道国外那些大牛画的高大上的进化树难道是他们自己手动准备的注释文件,按照自己的审美配的色吗?
这个我肯定不信,(绝对不能承认自己审美差!)本着开放获取的原则,本人终于在Github找到了一个别人写的自动生成iTOL注释文件的R包table2itol。用上这个R包就能帮助我们快速一键生成注释文件啦!
table2itol的Github地址 https://github.com/mgoeker/table2itol
制作注释文件
下面我将教大家快速自动生成高大上的注释文件
Windows软件安装
首先要安装table2itol这个进化树美化注释包,要确保你的R的版本高于 3.2 ,如果是windows系统推荐安装R 3.5,这样可以在Rstudio界面下直接调用Terminal,(但R语言在windows中对命令行支持比较差,容易出问题)。这时候只有我们准备的文件格式是txt格式就能使得table2itol在window系统下能运行:
1. windows直接下载,将table2itol该文件夹放置在:C:\Users\X\Documents 文件夹位置,注意路径中不能有中文。
Linux软件安装
有的同学习惯使用Linux系统,这里也给大家准备了Linux系统下,table2itol.R 包的安装教程:
table2itol的下载和安装
## Installation
# git clone git@github.com:mgoeker/table2itol.git
# 下载并解压
wget https://github.com/mgoeker/table2itol/archive/master.zip
unzip master.zip
mv table2itol-master table2itol
# 测试
Rscript table2itol/table2itol.R
chmod +x table2itol.R
./table2itol.R
在R或Rstudio中安装一些依赖关系
### 安装依赖包
site="https://mirrors.tuna.tsinghua.edu.cn/CRAN"
# 依赖包列表:参数解析、数据变换、绘图和开发包安装、安装依赖、ggplot主题
package_list = c("grid","ggplot2","gridExtra","vegan","reshape2","readODS")
# 判断R包加载是否成功来决定是否安装后再加载
for(p in package_list){
if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){
install.packages(p, repos=site)
suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))
}
}
#### 安装缺少的R包
source("http://bioconductor.org/biocLite.R")
biocLite(c("optparse", "plotrix", "readODS", "readxl", "yaml"))
准备输入文件
2. 准备注释文件,这里我们给大家准备好了一个测试数据集的输入文件:
文件一:annotation注释表,大家可以按照这个格式准备你的原始文件,大家还可以在表中添加自己需要的信息
主要包括每个OTU的物种注释,从门到属;还有就是对应的整体相对丰度和在各实验组中的平均相对丰度。
文件二:这个文件实际上就是咱们提取的高丰度OTUs中的OTUs ID所对应的小OTUs table
3. 然后我们所有的准备工作就做好了,可以运行代码进行注释文件的生成啦!
生成注释文件
我们给大家选取了五种注释样式和配色方案,直接运行一下命令就能生成iTOL注释文件的格式:
## 方案1. 外圈颜色、形状分类和丰度方案
# annotation.txt OTU对应物种注释和丰度,
#-a 找不到输入列将终止运行(默认不执行)-c 将整数列转换为factor或具有小数点的数字,-t 偏离提示标签时转换ID列,-w 颜色带,区域宽度等, -D输出目录,-i OTU列名,-l OTU显示名称如种/属/科名,
Rscript table2itol/table2itol.R -a -c double -D plan1 -i OTUID -l Genus -t %s -w 0.5 annotation.txt
# 生成注释文件中每列为单独一个文件
## 方案2. 生成丰度柱形图注释文件
Rscript table2itol/table2itol.R -a -d -c none -D plan2 -b Phylum -i OTUID -l Genus -t %s -w 0.5 annotation.txt
## 方案3. 生成热图注释文件
Rscript table2itol/table2itol.R -c keep -D plan3 -i OTUID -t %s otutab.txt
## 方案4. 将整数转化成因子生成注释文件
Rscript table2itol/table2itol.R -a -c factor -D plan4 -i OTUID -l Genus -t %s -w 0 annotation.txt
## 方案5. 自定义颜色
Rscript table2itol/table2itol.R -a -C table2itol/tests/INPUT/colours_1.yml -c double -D plan5 \
-i OTUID -l Genus -t %s -w 0.5 annotation.txt
注释文件美化
做好了所有注释文件,那就赶紧上itol网站测试一下 1.首先需要 访问iTOL官网http://itol.embl.de/
登录账户、或者注册账户(见上面详细教程)
上传otus.nwk,再拖拽下方生成的注释方案于树上即美化
我们把plan1文件夹中所有文件一次选中,生成的注释树的结果如下图:
方案1. 属名称多分类层级
我们把plan2文件夹中所有文件一次选中,生成的注释树的结果如下图:
方案2. 丰度柱状图
我们把plan3文件夹中所有文件一次选中,生成的注释树的结果如下图:
方案3. 热图
我们把plan4文件夹中所有文件一次选中,生成的注释树的结果如下图:
方案4
当然啦,这里的不同注释方案并不是说要让你去固定的使用某一种,你可以根据自己的需求,灵活搭配使用,最终画出你想要的结果!
比如我们综合使用以上几种不同注释方案,通过在iTOL网站上再对树形,颜色等进行微调,得到的最终效果呈现图:
后台回复“高颜值进化树”即可获得所有测试数据,注释文件以及table2itol.R 安装包等。
宏基因组:教你用iTOL轻松绘制高颜值系统进化树
猜你喜欢
10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑
文献阅读 热心肠 SemanticScholar Geenmedical
16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
更多阅读
后台回复“生信宝典福利第一波”获取教程合集